package rabbitmq

// 定义队列和交换机的配置
type QueueConfig struct {
	QueueName    string //队列名称
	RoutingKey   string //路由键
	ExchangeName string //交换机名称
	Kind         string // 交换机类型
}

// 新闻配置
var NewsConfig = QueueConfig{
	ExchangeName: "news_exchange",            // 交换机名称
	RoutingKey:   "news.tencent.deepseek",    // 路由键
	QueueName:    "news.tencent.deepseek.v3", // 队列名称
	Kind:         "direct",                   //交换机类型
}

// 问答配置
var QuestionAnswerConfig = QueueConfig{
	ExchangeName: "question_answer_exchange",            // 交换机名称
	RoutingKey:   "question_answer.tencent.deepseek",    // 路由键
	QueueName:    "question_answer.tencent.deepseek.v3", // 队列名称
	Kind:         "direct",                              //交换机类型
}

// 同步配置
var SyncConfig = QueueConfig{
	ExchangeName: "sync_exchange",            // 交换机名称
	RoutingKey:   "sync.tencent.deepseek",    // 路由键
	QueueName:    "sync.tencent.deepseek.v3", // 队列名称
	Kind:         "direct",                   //交换机类型
}

var queues = []QueueConfig{
	NewsConfig,
	QuestionAnswerConfig,
	SyncConfig,
}

type NewsMessage struct {
	KeepTitle   int   `json:"keep_title"`
	KeepContent int   `json:"keep_content"`
	Ids         []int `json:"ids"`
	LogId       int   `json:"log_id"`
}

// 问答消息结构
type QuestionAnswerMessage struct {
	FilePath string `json:"file_path"`
	FileId   int    `json:"file_id"`
}

type SyncNewsMessage struct {
	Ids        []int    `json:"ids"`
	LogId      int      `json:"log_id"`
	Categories []string `json:"categories"`
	CoverImg   string   `json:"cover_img"`
}
